﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Brio.Framework.Operators
{
    class GaussianNoteMutationOperator : MusicalOperator
    {
        public GaussianNoteMutationOperator(int individualNotePercentage, int sigma) : base("GaussianMutation", 100, OperatorType.Haploid)
        {
            this.individualNotePercentage = individualNotePercentage;
            this.sigma = sigma;
        }

        private int individualNotePercentage;
        private int sigma;

        public override void Apply(MotifChromosome chromo)
        {
            chromo.Staff.GaussianNoteMutation(individualNotePercentage, sigma);
        }

        public override void Apply(MotifChromosome doner, MotifChromosome reciever)
        {
            // UNSUPPORTED
        }

        public override void Apply(MotifChromosome chromo, TechniqueCollection techniqueCollection)
        {
            // UNSUPPORTED
        }

        public override void Apply(MotifChromosome chromo, IntervalRelationshipTable intervalRelationships)
        {
            // UNSUPPORTED
        }
    }
}
